package cn.ydt.ydt.community.service;

import cn.ydt.ydt.community.common.restful.JsonPage;
import cn.ydt.ydt.community.pojo.dto.ModifySingInInfoDTO;
import cn.ydt.ydt.community.pojo.dto.SingInDTO;
import cn.ydt.ydt.community.pojo.vo.SignInfoVO;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author Administrator
 */
@Repository
@Transactional(rollbackFor = Throwable.class)
public interface SingInService {
     /**
      * 添加打卡记录
      * @param singInDTO
      * @return
      */
     String addSingInRecord(SingInDTO singInDTO);

    /**
     * 通过社区id查询当天签到信息
     * @param page
     * @param pageSize
     * @param difference 相隔天数
     * @return
     */
    @Transactional(readOnly = true , rollbackFor = Throwable.class)
     JsonPage<SignInfoVO> getCurrentSignInInfoByCommunityId(Integer page  , Integer pageSize, Integer difference) ;

    /**
     * 获得个人的签到记录
     * @param page
     * @param pageSize
     * @return
     */
     JsonPage<SignInfoVO> getPersonSignInInfo(Integer page  , Integer pageSize) ;

    /**
     * 修改用户信息
     * @param modify
     */

    void modifySingInInfo(ModifySingInInfoDTO modify);
}
